#!/bin/sh
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

eerror() {
    echo "$@" >&2
}

# Check that DATA_DIR has been set
if [ -z ${DATA_DIR} ] ; then
    eerror "DATA_DIR not set"
    exit 1
fi

# Check that DATA_DIR exists
if [ ! -d ${DATA_DIR} ] ; then
    eerror "Directory not found: ${DATA_DIR}"
    eerror "HINT: Ensure that DATA_DIR points to the right path."
    eerror "HINT: Or perhaps you need to create the database cluster:"
    eerror "    emerge --config dev-db/postgresql:@SLOT@"
    exit 1
fi

# Check for the existence of PostgreSQL's config files, and set the
# proper mode and ownership.
# Only three files should be checked as potentially other files
# may be in PGDATA that should not be touched.
for file in postgresql pg_hba pg_ident ; do
    file="${PGDATA%/}/${file}.conf"
    if [ ! -f ${file} ] ; then
        eerror "${file} not found"
        eerror "HINT: mv ${DATA_DIR%/}/*.conf ${PGDATA}"
        exit 1
    fi
done
